60 research outputs found
SmartTools: a generator of interactive environments tools
SmartTools is a development environment generator that provides a structure editor and semantic tools as main features. The well-known visitor pattern technique is commonly used for designing semantic analysis, it has been automated and extended. SmartTools is easy to use thanks to its graphical user interface designed with the Java Swing APIs. It is built with an open architecture convinient for a partial or total integration of SmartTools in other environments. It makes the addition of new software components in SmartTools easy. As a result of the modular architecture, we built a distributed instance of SmartTools which required minimal effort. Being open to the XML technologies offers all the features of Smart Tools to any language defined with those technologies. But most of all, with its open architecture, SmartTools takes advantage of all the developments made around those technologies, like DOM, through the XML APIs. The fast development of SmartTools (which is a young project, one year old) validates our choices of being open and generic. The main goal of this tool is to provide help and support for designing software development environments for programming languages as well as application languages defined with XML technologies
Existential witness extraction in classical realizability and via a negative translation
We show how to extract existential witnesses from classical proofs using
Krivine's classical realizability---where classical proofs are interpreted as
lambda-terms with the call/cc control operator. We first recall the basic
framework of classical realizability (in classical second-order arithmetic) and
show how to extend it with primitive numerals for faster computations. Then we
show how to perform witness extraction in this framework, by discussing several
techniques depending on the shape of the existential formula. In particular, we
show that in the Sigma01-case, Krivine's witness extraction method reduces to
Friedman's through a well-suited negative translation to intuitionistic
second-order arithmetic. Finally we discuss the advantages of using call/cc
rather than a negative translation, especially from the point of view of an
implementation.Comment: 52 pages. Accepted in Logical Methods for Computer Science (LMCS),
201
On Subexponentials, Synthetic Connectives, and Multi-level Delimited Control
International audienceWe construct a partially-ordered hierarchy of delimited control operators similar to those of the CPS hierarchy of Danvy and Filinski. However, instead of relying on nested CPS translations, these operators are directly interpreted in linear logic extended with subexponentials (i.e., multiple pairs of ! and ?). We construct an independent proof theory for a fragment of this logic based on the principle of focusing. It is then shown that the new constraints placed on the permutation of cuts correspond to multiple levels of delimited control
Sound and Complete Typing for lambda-mu
In this paper we define intersection and union type assignment for Parigot's
calculus lambda-mu. We show that this notion is complete (i.e. closed under
subject-expansion), and show also that it is sound (i.e. closed under
subject-reduction). This implies that this notion of intersection-union type
assignment is suitable to define a semantics.Comment: In Proceedings ITRS 2010, arXiv:1101.410
Realizability Interpretation and Normalization of Typed Call-by-Need -calculus With Control
We define a variant of realizability where realizers are pairs of a term and
a substitution. This variant allows us to prove the normalization of a
simply-typed call-by-need \lambda$-$calculus with control due to Ariola et
al. Indeed, in such call-by-need calculus, substitutions have to be delayed
until knowing if an argument is really needed. In a second step, we extend the
proof to a call-by-need \lambda-calculus equipped with a type system
equivalent to classical second-order predicate logic, representing one step
towards proving the normalization of the call-by-need classical second-order
arithmetic introduced by the second author to provide a proof-as-program
interpretation of the axiom of dependent choice
Process types as a descriptive tool for interaction
We demonstrate a tight relationship between linearly typed π-calculi and typed λ-calculi by giving a type-preserving translation from the call-by-value λµ-calculus into a typed π-calculus. The λµ-calculus has a particularly simple representation as typed mobile processes. The target calculus is a simple variant of the linear π-calculus. We establish full abstraction up to maximally consistent observational congruences in source and target calculi using techniques from games semantics and process calculi
Towards a canonical classical natural deduction system
This paper studies a new classical natural deduction system, presented as a typed calculus named \lml. It is designed to be
isomorphic to Curien-Herbelin's calculus, both at the level of proofs and reduction, and the isomorphism is based on the correct correspondence between cut (resp. left-introduction) in sequent calculus, and substitution (resp. elimination) in natural deduction. It is a combination of Parigot's -calculus with the idea
of ``coercion calculus'' due to Cervesato-Pfenning, accommodating let-expressions in a surprising way: they expand Parigot's syntactic class of named terms.
This calculus aims to be the simultaneous answer to three problems. The first problem is the lack of a canonical natural deduction
system for classical logic. \lml is not yet another classical calculus, but rather a canonical reflection in natural deduction of
the impeccable treatment of classical logic by sequent calculus. The second problem is the lack of a formalization of the usual semantics
of Curien-Herbelin's calculus, that explains co-terms and cuts as, respectively, contexts and hole-filling instructions. The mentioned
isomorphism is the required formalization, based on the precise notions of context and hole-expression offered by \lml. The third
problem is the lack of a robust process of ``read-back'' into natural deduction syntax of calculi in the sequent calculus format,
that affects mainly the recent proof-theoretic efforts of derivation of -calculi for call-by-value. An isomorphic counterpart
to the -subsystem of Curien-Herbelin's-calculus is derived, obtaining a new
-calculus for call-by-value, combining control and let-expressions.Fundação para a Ciência e a Tecnologia (FCT
- …